# 使用 Ubuntu 18.04 作为基础镜像
FROM ubuntu:18.04

# 设置环境变量，避免交互提示
ENV DEBIAN_FRONTEND=noninteractive

# 更新系统并安装必要的依赖
RUN apt-get update && apt-get install -y xz-utils \
    wget \
    tar \
    dos2unix  \
    && rm -rf /var/lib/apt/lists/*

# 下载 Node.js v6.16.0 二进制包
RUN wget https://nodejs.org/dist/latest-v6.x/node-v6.17.1-linux-x64.tar.xz

# 解压并安装 Node.js
RUN tar -xJf node-v6.17.1-linux-x64.tar.xz -C /usr/local --strip-components=1

# 检查 Node.js 和 npm 版本
RUN node -v && npm -v

# 创建并设置工作目录
RUN mkdir -p /app
WORKDIR /app

# 复制 package.json 和 package-lock.json 到工作目录
COPY server/package*.json ./

# 安装依赖
RUN npm install

# 复制服务器代码到工作目录
COPY server/ .

# 转换 start_all.sh 文件的换行符格式
RUN dos2unix start_all.sh

# 给脚本添加执行权限
RUN chmod +x start_all.sh

# 暴露服务器端口，假设服务器监听 9000 端口，可根据实际情况修改
# 暴露服务端口
EXPOSE 9000 9001 9002 9003 10000 12581

# 启动服务器
CMD ["/bin/sh", "start_all.sh"]